const bcrypt = require('bcryptjs');
const { generateToken } = require('../middleware/jwtMiddleware');
const User = require('../models/user');

/**
 * 用户登录
 */
const login = async (ctx) => {
  const { username, password } = ctx.request.body;

  // 查询数据库中是否存在该用户
  const user = await User.findOne({
    where: {
      Username: username,
    },
  });

  if (!user) {
    ctx.status = 401;
    ctx.body = { message: '用户名或密码不正确' };
    return;
  }
// 验证密码是否正确
if (password !== user.Passwd) {
  ctx.status = 401;
  ctx.body = { message: '用户名或密码不正确' };
  return;
}
  // 生成token并将其作为响应的一部分返回
  const access_token = generateToken({ id: user.ID }, '1h');
  ctx.body = { data: { access_token } };
};

module.exports = {
  login,
};
